home *** CD-ROM | disk | FTP | other *** search
- -----------------------------------
- Duelist's Crackme #6
- Tutorial de Lucifer48, 25 juin 1999
- -----------------------------------
-
- ===============
- 1. INTRODUCTION
- ===============
-
- Dans le txt qui accompagne le crackme, on lit τa:
- "this time i may have created a challenge that is too hard for most of the people, ..."
- Au dΘbut j'ai eu un peu peur, et une heure plus tard j'ai rigolΘ :)
- Ce crackme est en fait trΦs facile!
-
- ==============
- 2. LE TUTORIAL
- ==============
-
- La protection consiste en deux boucles:
-
- XXXX:0040106B MOV EAX,36455544 ;"DUE6" α l'envers
- XXXX:00401070 MOV ECX,[00402121] ;lit les 4 premiers caractΦres
- XXXX:00401076 ROL EAX,06
- XXXX:00401079 XOR AH,AL
- XXXX:0040107B ADD AL,CL
- XXXX:0040107D DEC ECX
- XXXX:0040107E JNZ 00401076
- XXXX:00401080 CMP EAX,04071885
- XXXX:00401085 JNZ 004010D5 ;(jump)= mauvais cracker!
-
- Pour ce qui est de la deuxiΦme boucle, c'est la mΩme chose, sauf que 36455544 devient 43534952
- ("CSIR") et 04071885 devient 4B00D127.
-
- Le serial comporte 8 caractΦres. Comment trouver les 4 premiers caractΦres du serial ??
- En fait, faut partir de la fin pour arriver au dΘbut. On a aucune incunnue α trouver; on doit juste
- dΘterminer combien de boucles (=ecx) on doit effectuer pour arriver au bon rΘsultat (04071885 pour
- la premiΦre boucle et , 4B00D127 pour la deuxiΦme boucle). On doit donc trouver la valeur d'ECX.
- La solution est donc juste de remonter la boucle (de l'exΘcuter α l'envers). Et par chance dans ce
- cas de figure c'est possible.
- (exemple: je veux obtenir 85h aprΦs avoir fait ADD AL,01; donc AL=84h, c'est pas plus dur que τa!).
- En effet, on peut trouver la rΘciproque de chaque "fonction" (instruction).
-
- DEC ECX ===> INC ECX
- ADD AL,CL ===> SUB AL,CL
- XOR AH,AL ===> XOR AH,AL ;a XOR b = c <=> c XOR b = a, N'OUBLIEZ JAMAIS CA!
- ROL EAX,06 ===> ROR EAX,06
-
- Regardez la source c'est trΦs trΦs simple (n'oubliez pas d'activer la dΘtection de l'int 3 dans
- soft-ice).
-
- Pour la premiΦre boucle, on trouve les rΘsultats suivants:
- 0DBD76F6
- 34647369 <---- hΘhΘ :)
- C4E2A92A
- Pour la seconde boucle, on trouve une unique solution:
- 72657665
-
- Serial/ isd4ever
-
- Greetings: ID group, Eternal Bliss (wonderfull site), tC... (for his *big* crackme in delphi ),
- ACiD BuRN, and others i forgot.
-
- Lucifer48
-